home *** CD-ROM | disk | FTP | other *** search
/ Die Speccy' 97 / Die Speccy' 97.iso / amiga_system / the_aminet / comm / bbs / wwbbs31_source.lha / WWBBS / Programming / libraries / wwbbs.h
C/C++ Source or Header  |  1995-09-19  |  9KB  |  409 lines

  1. #ifndef LIBRARIES_WWBBS_H
  2. #define LIBRARIES_WWBBS_H
  3.  
  4. /*
  5. **  $VER: wwbbs.h 3.0 (1.4.94)
  6. */
  7.  
  8. #ifndef UTILITY_TAGITEM_H
  9. #include <utility/tagitem.h>
  10. #endif
  11.  
  12. /*
  13. ** Config
  14. */
  15.  
  16. /* Global */
  17.  
  18. #define CFGTAG_GLOBAL ((ULONG)(1L<<15))
  19.  
  20. /* Get/Set/Add/Rem */
  21. #define CFGTAG_Path TAG_USER+CFGTAG_GLOBAL+1
  22. #define CFGTAG_Name TAG_USER+CFGTAG_GLOBAL+2
  23.  
  24. /* Get/Add */
  25. #define CFGTAG_Type TAG_USER+CFGTAG_GLOBAL+3
  26.  
  27. /* Get */
  28. #define CFGTAG_Exists TAG_USER+CFGTAG_GLOBAL+4
  29. #define CFGTAG_Parent TAG_USER+CFGTAG_GLOBAL+5
  30. #define CFGTAG_Child TAG_USER+CFGTAG_GLOBAL+6
  31. #define CFGTAG_GetFirst TAG_USER+CFGTAG_GLOBAL+7
  32. #define CFGTAG_GetLast TAG_USER+CFGTAG_GLOBAL+8
  33. #define CFGTAG_GetNext TAG_USER+CFGTAG_GLOBAL+9
  34. #define CFGTAG_GetPrevious TAG_USER+CFGTAG_GLOBAL+10
  35. #define CFGTAG_Next TAG_USER+CFGTAG_GLOBAL+11
  36. #define CFGTAG_NextReturn TAG_USER+CFGTAG_GLOBAL+12
  37.  
  38. /* Set */
  39. #define CFGTAG_NewName TAG_USER+CFGTAG_GLOBAL+13
  40. #define CFGTAG_MoveUp TAG_USER+CFGTAG_GLOBAL+14
  41. #define CFGTAG_MoveDown TAG_USER+CFGTAG_GLOBAL+15
  42. #define CFGTAG_ForceSave TAG_USER+CFGTAG_GLOBAL+16
  43.  
  44. /* Set/Add/Rem */
  45. #define CFGTAG_DontSave TAG_USER+CFGTAG_GLOBAL+17
  46.  
  47.  
  48. /* Local */
  49. #define AGTAG_AccessLevel TAG_USER+1
  50. #define AGTAG_SessionTimeLimit TAG_USER+2
  51. #define AGTAG_InactivityTimeLimit TAG_USER+3
  52. #define AGTAG_RatioByte TAG_USER+4
  53. #define AGTAG_RatioFile TAG_USER+5
  54. #define AGTAG_Days TAG_USER+6
  55.  
  56. #define ARCTAG_Extension TAG_USER+1
  57. #define ARCTAG_AddCommand TAG_USER+2
  58. #define ARCTAG_ExtractCommand TAG_USER+3
  59. #define ARCTAG_ViewCommand TAG_USER+4
  60.  
  61. /*#define VARTAG_String TAG_USER+1*/
  62.  
  63. #define EDTAG_Type TAG_USER+1
  64. #define EDTAG_Command TAG_USER+2
  65. #define EDTAG_Stack TAG_USER+3
  66.  
  67. #define FBTAG_AccessRange TAG_USER+1
  68. #define FBTAG_Group TAG_USER+2
  69. #define FBTAG_Directory TAG_USER+3
  70. #define FBTAG_DiskSpaceRequired TAG_USER+4
  71. #define FBTAG_Days TAG_USER+5
  72. #define FBTAG_ReadOnly TAG_USER+6
  73. #define FBTAG_AutoJoin TAG_USER+7
  74.  
  75. #define MNTAG_AccessRange TAG_USER+1
  76. #define MNTAG_Character TAG_USER+2
  77. #define MNTAG_Default TAG_USER+3
  78. #define MNTAG_Number TAG_USER+4
  79. #define MNTAG_Prompt TAG_USER+5
  80. #define MNTAG_Command TAG_USER+6
  81.  
  82. #define MBTAG_AccessRange TAG_USER+1
  83. #define MBTAG_Group TAG_USER+2
  84. #define MBTAG_QuoteHeader TAG_USER+3
  85. #define MBTAG_ReadOnly TAG_USER+4
  86. #define MBTAG_AutoJoin TAG_USER+5
  87. #define MBTAG_Days TAG_USER+6
  88.  
  89. #define NWSTAG_AccessRange TAG_USER+1
  90. #define NWSTAG_File TAG_USER+2
  91.  
  92. #define NDTAG_AccessRange TAG_USER+1
  93. #define NDTAG_Type TAG_USER+2
  94. #define NDTAG_Device TAG_USER+3
  95. #define NDTAG_Unit TAG_USER+4
  96. #define NDTAG_BufferSize TAG_USER+5
  97. #define NDTAG_Baud TAG_USER+6
  98. #define NDTAG_Handshaking TAG_USER+7
  99. #define NDTAG_AutoBaud TAG_USER+8
  100. #define NDTAG_FrontEnd TAG_USER+9
  101. #define NDTAG_Command TAG_USER+10
  102.  
  103. #define PRTAG_SendCommand TAG_USER+1
  104. #define PRTAG_ReceiveCommand TAG_USER+2
  105. #define PRTAG_Batch TAG_USER+3
  106. #define PRTAG_Bidirectional TAG_USER+4
  107.  
  108. /*#define SYSTAG_DisplayMode TAG_USER+1*/
  109. /*#define SYSTAG_Font TAG_USER+2*/
  110. #define SYSTAG_InputColor TAG_USER+3
  111. #define SYSTAG_HeaderColor TAG_USER+4
  112. #define SYSTAG_OutputColor TAG_USER+5
  113. #define SYSTAG_PromptColor TAG_USER+6
  114. #define SYSTAG_SystemColor TAG_USER+7
  115. #define SYSTAG_OnlyRealNames TAG_USER+8
  116. #define SYSTAG_FileIDDizExtractor TAG_USER+9
  117.  
  118. enum {
  119. CFGTYP_Config=0,
  120. CFGTYP_AccessGroup,
  121. CFGTYP_Archiver,
  122. DUMMY_DoorVariable,
  123. CFGTYP_Editor,
  124. CFGTYP_FileBase,
  125. CFGTYP_Menu,
  126. CFGTYP_MessageBase,
  127. CFGTYP_News,
  128. CFGTYP_Node,
  129. CFGTYP_Protocol,
  130. CFGTYP_System
  131. };
  132.  
  133. enum {
  134. EDTYP_Standard=0,
  135. EDTYP_Visual,
  136. EDTYP_Graphical
  137. };
  138.  
  139. enum {
  140. NDTYP_Local=0,
  141. NDTYP_Remote
  142. };
  143.  
  144. /*
  145. ** Status
  146. */
  147.  
  148. /* Global */
  149. #define STTAG_GLOBAL ((ULONG)(1L<<15))
  150.  
  151. /* Get/Set/Add/Rem */
  152. #define STTAG_Name TAG_USER+STTAG_GLOBAL+1
  153.  
  154. /* Get */
  155. #define STTAG_Exists TAG_USER+STTAG_GLOBAL+2
  156. #define STTAG_Next TAG_USER+STTAG_GLOBAL+3
  157. #define STTAG_NextReturn TAG_USER+STTAG_GLOBAL+4
  158.  
  159. /* Local */
  160. #define STTAG_UserName TAG_USER+1
  161. #define STTAG_Location TAG_USER+2
  162. #define STTAG_Prompt TAG_USER+3
  163. #define STTAG_Stack TAG_USER+4
  164. #define STTAG_TimeRemaining TAG_USER+5
  165. #define STTAG_TimeUsed TAG_USER+6
  166. #define STTAG_InactivityTimeLimit TAG_USER+7
  167. #define STTAG_Panic TAG_USER+8
  168. #define STTAG_Local TAG_USER+9
  169. #define STTAG_ConsoleOpen TAG_USER+10
  170. #define STTAG_ANSI TAG_USER+11
  171. #define STTAG_PageReceived TAG_USER+12
  172. #define STTAG_UserMonitor TAG_USER+13
  173.  
  174. /*
  175. ** Users
  176. */
  177.  
  178. /* Global */
  179. #define USRTAG_GLOBAL ((ULONG)(1L<<15))
  180.  
  181. /* Get/Set/Rem/Load/UnLoad */
  182. #define USRTAG_Name TAG_USER+USRTAG_GLOBAL+1
  183.  
  184. /* Get/Set/Add */
  185. #define USRTAG_UserName TAG_USER+USRTAG_GLOBAL+2
  186. #define USRTAG_RealName TAG_USER+USRTAG_GLOBAL+3
  187. #define USRTAG_UUCPName TAG_USER+USRTAG_GLOBAL+4
  188.  
  189. /* Get */
  190. #define USRTAG_Exists TAG_USER+USRTAG_GLOBAL+5
  191. #define USRTAG_Next TAG_USER+USRTAG_GLOBAL+6
  192. #define USRTAG_NextReturn TAG_USER+USRTAG_GLOBAL+7
  193.  
  194. /* Set */
  195. #define USRTAG_ForceSave TAG_USER+USRTAG_GLOBAL+8
  196.  
  197. /* Set/Add/Rem */
  198. #define USRTAG_DontSave TAG_USER+USRTAG_GLOBAL+9
  199.  
  200. /* Local */
  201. #define USRTAG_Password TAG_USER+101
  202. #define USRTAG_Address TAG_USER+102
  203. #define USRTAG_City TAG_USER+103
  204. #define USRTAG_State TAG_USER+104
  205. #define USRTAG_Zip TAG_USER+105
  206. #define USRTAG_Country TAG_USER+106
  207. #define USRTAG_PhoneCode TAG_USER+107
  208. #define USRTAG_PhoneNumber TAG_USER+108
  209. #define USRTAG_BirthDay TAG_USER+109
  210. #define USRTAG_BirthMonth TAG_USER+110
  211. #define USRTAG_BirthYear TAG_USER+111
  212.  
  213. #define USRTAG_AccessLevel TAG_USER+201
  214. #define USRTAG_SessionTimeLimit TAG_USER+202
  215. #define USRTAG_InactivityTimeLimit TAG_USER+203
  216. #define USRTAG_RatioByte TAG_USER+204
  217. #define USRTAG_RatioFile TAG_USER+205
  218. #define USRTAG_Days TAG_USER+206
  219.  
  220. #define USRTAG_ScreenWidth TAG_USER+301
  221. #define USRTAG_ScreenHeight TAG_USER+302
  222. #define USRTAG_LogonStack TAG_USER+303
  223. #define USRTAG_Editor TAG_USER+304
  224. #define USRTAG_Protocol TAG_USER+305
  225. #define USRTAG_Archiver TAG_USER+306
  226. #define USRTAG_HotKeys TAG_USER+307
  227. #define USRTAG_Menus TAG_USER+308
  228. /*#define USRTAG_MufflePages TAG_USER+309*/
  229. #define USRTAG_UserMonitor TAG_USER+310
  230. /*#define USRTAG_ChatRequest TAG_USER+311*/
  231.  
  232. #define USRTAG_Sessions TAG_USER+401
  233. #define USRTAG_EmailRead TAG_USER+402
  234. #define USRTAG_EmailWritten TAG_USER+403
  235. #define USRTAG_MessagesRead TAG_USER+404
  236. #define USRTAG_MessagesWritten TAG_USER+405
  237. #define USRTAG_FilesUploaded TAG_USER+406
  238. #define USRTAG_FilesDownloaded TAG_USER+407
  239. #define USRTAG_FilesCredits TAG_USER+408
  240. #define USRTAG_KilosUploaded TAG_USER+409
  241. #define USRTAG_KilosDownloaded TAG_USER+410
  242. #define USRTAG_KilosCredits TAG_USER+411
  243. #define USRTAG_LastOn TAG_USER+412
  244. #define USRTAG_TimeUsed TAG_USER+413
  245.  
  246. /*
  247. ** Messages
  248. */
  249.  
  250. /* Global */
  251.  
  252. #define MSGTAG_GLOBAL ((ULONG)(1L<<15))
  253.  
  254. /* Get/Set/Rem */
  255. #define MSGTAG_ID TAG_USER+MSGTAG_GLOBAL+1
  256.  
  257. /* Get */
  258. #define MSGTAG_Exists TAG_USER+MSGTAG_GLOBAL+2
  259.  
  260. /* Set */
  261. #define MSGTAG_ForceSave TAG_USER+MSGTAG_GLOBAL+3
  262.  
  263. /* Set/Add/Rem */
  264. #define MSGTAG_DontSave TAG_USER+MSGTAG_GLOBAL+4
  265.  
  266. /* Add */
  267. #define MSGTAG_ReplyTo TAG_USER+MSGTAG_GLOBAL+5
  268.  
  269. /* Local */
  270. #define MSGTAG_Thread TAG_USER+1
  271. #define MSGTAG_From TAG_USER+2
  272. #define MSGTAG_To TAG_USER+3
  273. #define MSGTAG_Subject TAG_USER+4
  274. #define MSGTAG_Date TAG_USER+5
  275. #define MSGTAG_Text TAG_USER+6
  276.  
  277. /*
  278. ** Files
  279. */
  280.  
  281. /* Global */
  282.  
  283. #define FILTAG_GLOBAL ((ULONG)(1L<<15))
  284.  
  285. /* Get/Set/Rem */
  286. #define FILTAG_ID TAG_USER+FILTAG_GLOBAL+1
  287.  
  288. /* Get */
  289. #define FILTAG_Exists TAG_USER+FILTAG_GLOBAL+2
  290.  
  291. /* Set */
  292. #define FILTAG_ForceSave TAG_USER+FILTAG_GLOBAL+3
  293.  
  294. /* Set/Add/Rem */
  295. #define FILTAG_DontSave TAG_USER+FILTAG_GLOBAL+4
  296.  
  297. /* Local */
  298. #define FILTAG_Name TAG_USER+1
  299. #define FILTAG_Uploader TAG_USER+2
  300. #define FILTAG_Size TAG_USER+3
  301. #define FILTAG_Date TAG_USER+4
  302. #define FILTAG_Downloads TAG_USER+5
  303. #define FILTAG_LastDownloadDate TAG_USER+6
  304. #define FILTAG_Description TAG_USER+7
  305.  
  306.  
  307. /*
  308. ** Command Messages
  309. */
  310.  
  311. /* Node */
  312.  
  313. enum {
  314.     NDCMD_Quit=0,
  315.     NDCMD_Session,
  316.     NDCMD_Panic,
  317.     NDCMD_Page
  318. };
  319.  
  320. #define NDSESSIONTAG_Baud TAG_USER+1
  321.  
  322. #define NDPAGETAG_FromNode TAG_USER+1
  323. #define NDPAGETAG_Text TAG_USER+2
  324.  
  325. /* Console */
  326.  
  327. enum {
  328.     CONCMD_Quit=0,
  329.     CONCMD_Open,
  330.     CONCMD_Close,
  331.     CONCMD_Read,
  332.     CONCMD_Write,
  333.     CONCMD_Wait,
  334.     CONCMD_Abort,
  335.     CONCMD_Query
  336. };
  337.  
  338. #define CONWRITETAG_Buffer TAG_USER+1
  339. #define CONWRITETAG_Size TAG_USER+2
  340.  
  341. #define CONWAITTAG_WaitMask TAG_USER+1
  342. #define CONWAITTAG_WaitMaskRet TAG_USER+2
  343.  
  344. /* Serial */
  345.  
  346. enum {
  347.     SERCMD_Quit=0,
  348.     SERCMD_Open,
  349.     SERCMD_Close,
  350.     SERCMD_Read,
  351.     SERCMD_Write,
  352.     SERCMD_Wait,
  353.     SERCMD_Abort,
  354.     SERCMD_SetBaud,
  355.     SERCMD_Carrier,
  356.     SERCMD_Query
  357. };
  358.  
  359. #define SERREADTAG_Buffer TAG_USER+1
  360. #define SERREADTAG_Size TAG_USER+2
  361.  
  362. #define SERWRITETAG_Buffer TAG_USER+1
  363. #define SERWRITETAG_Size TAG_USER+2
  364.  
  365. #define SERWAITTAG_WaitMask TAG_USER+1
  366. #define SERWAITTAG_WaitMaskRet TAG_USER+2
  367. #define SERWAITTAG_Buffer TAG_USER+3
  368. #define SERWAITTAG_Size TAG_USER+4
  369.  
  370. #define SERSETBAUDTAG_ResetBaud TAG_USER+1
  371. #define SERSETBAUDTAG_NewBaud TAG_USER+2
  372.  
  373. /* Timer */
  374.  
  375. enum {
  376.     TMRCMD_Quit=0,
  377.     TMRCMD_Start,
  378.     TMRCMD_Stop
  379. };
  380.  
  381. #define TMRSTARTTAG_TimeRemaining TAG_USER+1
  382. #define TMRSTARTTAG_TimeUsed TAG_USER+2
  383.  
  384. /* Update */
  385.  
  386. enum {
  387.     UPDCMD_UpdateStatus=1,
  388.     UPDCMD_StartupNode,
  389.     UPDCMD_KillNode
  390. };
  391.  
  392. /* Lib */
  393. #define GLFLG_Edit (1<<0)
  394. #define GLFLG_NoEcho (1<<1)
  395. #define GLFLG_NoEmpty (1<<2)
  396. #define GLFLG_Format (1<<3)
  397. #define GLFLG_ToLower (1<<4)
  398. #define GLFLG_ToUpper (1<<5)
  399. #define GLFLG_Chars (1<<6)
  400. #define GLFLG_Digits (1<<7)
  401. #define GLFLG_NoChars (1<<8)
  402. #define GLFLG_NoDigits (1<<9)
  403. #define GLFLG_NoSpaces (1<<10)
  404. #define GLFLG_NoPunct (1<<11)
  405. #define GLFLG_BeginChar (1<<12)
  406. #define GLFLG_BeginDigit (1<<13)
  407.  
  408. #endif
  409.